Attention recently has been directed to implementing a variety of communication services, including voice telephone service, data service, facsimile (FAX) service, video/audio service, etc., over the worldwide packet data network now commonly known as the Internet. The Internet had its genesis in U.S. Government programs funded by the Advanced Research Projects Agency (ARPA). That research made possible national internetworked data communication systems. This work resulted in the development of network standards as well as a set of conventions, known as protocols, for interconnecting data networks and routing information across the networks. These protocols are commonly referred to as TCP/IP. The TCP/IP protocols were originally developed for use only through ARPANET but have subsequently become widely used in the industry. TCP/IP is flexible and robust. TCP takes care of the integrity, and IP moves the data.
Internet provides two broad types of services: connectionless packet delivery service and reliable stream transport service. The Internet basically comprises several large computer networks joined together over high-speed data links ranging from ISDN to T1, T3, FDDI, SONET, SMDS, ATM, OT1, etc. The most prominent of these national nets are MILNET (Military Network), NSFNET (National Science Foundation NETwork), and CREN (Corporation for Research and Educational Networking) In 1995, the Government Accounting Office (GAO) reported that the Internet linked 59,000 networks, 2.2 million computers and 15 million users in 92 countries. However, since then it is estimated that the number of Internet users continues to double approximately annually.
In simplified fashion the Internet may be viewed as a series of packet data switches or `routers` connected together with computers connected to the routers. The Information Providers (IPs) constitute the end systems which collect and market the information through their own servers. Access providers are companies such as UUNET, PSI, MCI and SPRINT which transport the information. Such companies market the usage of their networks.
FIG. 1 shows a simplified diagram of the Internet and various types of systems typically connected thereto. Generally speaking the Internet consists of Autonomous Systems (AS) type packet data networks which may be owned and operated by Internet Service Providers (ISPs) such as PSI, UUNET, MCI, SPRINT, etc. Three such AS/ISPs appear in FIG. 1 at 352, 354 and 356. The Autonomous Systems (ASs) are linked by Inter-AS Connections 358, 360 and 362. Information Providers (IPs) 366 and 372, such as America Online (AOL) and Compuserve, connect to the Internet via high speed lines 370 and 374, such as T1/T3 and the like. Information Providers generally do not have their own Internet based Autonomous Systems but have or use Dial-Up Networks such as SprintNet (X.25), DATAPAC and TYMNET.
By way of current illustration, MCI is both an ISP and an IP, SPRINT is an ISP, and the MicroSoft Network (MSN) is an IP using UUNET as an ISP. Other information providers, such as universities, are indicated in exemplary fashion at 364 and are connected to the AS/ISPs via the same type connections here illustrated as T1 lines 368. Corporate Local Area Networks (LANs), such as those illustrated in 380 and 378, are connected through routers 380 and 382 and high speed data links such as T1 lines 384 and 386. Laptop computers 388 and 390 are representative of computers connected to the Internet via the public switched telephone network (PSTN) and are shown connected to the AS/ISPs via dial up links 386 and 396.
As data communication networks have developed, various approaches have been used in the choice of communication medium, network topology, message format, protocols for channel access, and so forth. Some of these approaches have emerged as de facto standards, but there is still no single standard for network communication. However, a model for network architectures has been proposed and widely accepted. It is known as the International Standards Organization (ISO) Open Systems Interconnection (OSI) reference model. The OSI reference model is not itself a network architecture. Rather it specifies a hierarchy of protocol layers and defines the function of each layer in the network. Each layer in one computer of the network carries on a conversation with the corresponding layer in another computer with which communication is taking place, in accordance with a protocol defining the rules of this communication. In reality, information is transferred down from layer to layer in one computer, then through the channel medium and back up the successive layers of the other computer. However, for purposes of design of the various layers and understanding their functions, it is easier to consider each of the layers as communicating with its counterpart at the same level, in a "horizontal" direction.
The lowest layer defined by the OSI model is called the physical layer, and is concerned with transmitting raw data bits over the communication channel. Design of the physical layer involves issues of electrical, mechanical or optical engineering, depending on the medium used for the communication channel. The layer next to the physical layer is called the data link layer. The main task of the data link layer is to transform the physical layer, which interfaces directly with the channel medium, into a communication link that appears error-free to the next layer above, known as the network layer. The data link layer performs such functions as structuring data into packets or frames, and attaching control information to the packets or frames, such as checksums for error detection, and packet numbers.
Although the data link layer is primarily independent of the nature of the physical transmission medium, certain aspects of the data link layer function are more dependent on the transmission medium. For this reason, the data link layer in some network architectures is divided into two sublayers: a logical link control sublayer, which performs all medium-independent functions of the data link layer, and a media access control (MAC) sublayer. This sublayer determines which station should get access to the communication channel when there are conflicting requests for access. The functions of the MAC layer are more likely to be dependent on the nature of the transmission medium.
The Internet protocols generally referred to as TCP/IP were originally developed for use only through Arpanet and have subsequently become widely used in the industry. The protocols provide a set of services that permit users to communicate with each other across the entire Internet. The specific services that these protocols provide are not important to the present invention, but include file transfer, remote log-in, remote execution, remote printing, computer mail, and access to network file systems.
The basic function of the Transmission Control Protocol (TCP) is to make sure that commands and messages from an application protocol, such as computer mail, are sent to their desired destinations. TCP keeps track of what is sent, and retransmits anything that does not get to its destination correctly. If any message is too long to be sent as one "datagram," TCP will split it into multiple datagrams and makes sure that they all arrive correctly and are reassembled for the application program at the receiving end. Since these functions are needed for many applications, they are collected into a separate protocol (TCP) rather than being part of each application. TCP is implemented in the transport layer of the OSI reference model.
The Internet Protocol (IP) is implemented in the network layer of the OSI reference model, and provides a basic service to TCP: delivering datagrams to their destinations. TCP simply hands IP a datagram with an intended destination; IP is unaware of any relationship between successive datagrams, and merely handles routing of each datagram to its destination. If the destination is a station connected to a different LAN, the IP makes use of routers to forward the message.
TCP/IP frequently uses a slight deviation from the seven-layer OSI model in that it may have five layers. These five layers are combinations and derivatives of the seven-layer model as shown in FIG. 2. The five layers are as follows:
Layer 5--The Application Layer. Applications such as ftp, telnet, SMTP, and NFS relate to this layer.
Layer 4--The Transport Layer. In this layer, TCP and UDP add transport data to the packet and pass it to layer 3.
Layer 3--The Internet Layer. When an action is initiated on a local host (or initiating host) that is to be performed or responded to on a remote host (or receiving host), this layer takes the package from layer 4 and adds IP information before passing it to layer 2.
Layer 2--The Network Interface Layer. This is the network device as the host, or local computer, sees it and it is through this medium that the data is passed to layer 1.
Layer 1--The Physical Layer. This is literally the Ethernet or Serial Line Interface Protocol (SLIP) itself.
At the receiving host the layers are stripped one at a time, and their information is passed to the next highest level until it again reaches the application level. If a gateway exists between the initiating and receiving hosts, the gateway takes the packet from the physical layer, passes it through a data link to the IP physical layer to continue, as is shown in FIG. 3. As a message is sent from the first host to the second, gateways pass the packet along by stripping off lower layers, readdressing the lower layer, and then passing the packet toward its final destination.
A router, like a bridge, is a device connected to two or more LANs. Unlike a bridge, however, a router operates at the network layer level, instead of the data link layer level. Addressing at the network layer level makes use of a 32-bit address field for each host, and the address field includes a unique network identifier and a host identifier within the network. Routers make use of the destination network identifier in a message to determine an optimum path from the source network to the destination network. Various routing algorithms may be used by routers to determine the optimum paths. Typically, routers exchange information about the identities of the networks to which they are connected.
When a message reaches its destination network, a data link layer address is needed to complete forwarding to the destination host. Data link layer addresses are 48 bits long and are globally unique, i.e., no two hosts, wherever located, have the same data link layer address. There is a protocol called ARP (address resolution protocol), which obtains a data link layer address from the corresponding network layer address (the address that IP uses). Typically, each router maintains a database table from which it can look up the data link layer address, but if a destination host is not in this ARP database, the router can transmit an ARP request. This message basically means: "will the host with the following network layer address please supply its data link layer address." Only the addressed destination host responds, and the router is then able to insert the correct data link layer address into the message being forwarded, and to transmit the message to its final destination.
IP routing specifies that IP datagrams travel through internetworks one hop at a time (next hop routing) based on the destination address in the IP header. The entire route is not known at the outset of the journey. Instead, at each stop, the next destination (or next hop) is calculated by matching the destination address within the datagram's IP header with an entry in the current node's (typically but not always a router) routing table.
Each node's involvement in the routing process consists only of forwarding packets based on internal information resident in the router, regardless of whether the packets get to their final destination. To extend this explanation a step further, IP routing does not alter the original datagram. In particular, the datagram source and destination addresses remain unaltered. The IP header always specifies the IP address of the original source and the IP address of the ultimate destination.
When IP executes the routing algorithm it computes a new address, the IP address of the machine/router to which the datagram should be sent next. This algorithm uses the information from the routing table entries, as well as any cached information local to the router. This new address is most likely the address of another router/gateway. If the datagram can be delivered directly (the destination network is directly attached to the current host) the new address will be the same as the destination address in the IP header.
The next hop address defined by the method above is not stored in their IP datagram. There is no reserved space to hold it and it is not "stored" at all. After executing the routing algorithm (the algorithm is specific to the vendor/platform) to define the next hop address to the final destination. The IP protocol software passes the datagram and the next hop address to the network interface software responsible for the physical network over which the datagram must now be sent.
The network interface software binds the next hop address to a physical address (this physical address is discovered via address resolution protocols (ARP, RARP, etc.), forms a frame (Ethernet, SMDS, FDDI, etc.--OSI layer 2 physical address) using the physical address, places the datagram in the data portion of the frame, and sends the result out over the physical network interface through which the next hop gateway is reached. The next gateway receives the datagram and the foregoing process is repeated.
In addition, the IP does not provide for error reporting back to the source when routing anomalies occur. This task is left to another Internet protocol, the Internet Control Message Protocol (ICMP).
A router will perform protocol translation. One example is at layers 1 and 2. If the datagram arrives via an Ethernet interface and is destined to exit on a serial line, for example, the router will strip off the Ethernet header and trailer, and substitute the appropriate header and trailer for the specific network media, such as SMDS, by way of example.
A route policy may be used instead of routing table entries to derive the next hop address. In the system and methodology of the present invention, the source address is tested to see in which ISP address range it falls. Once the ISP address range is determined the packet is then routed to the next hop address associated with the specific ISP.
Data communications network services have two categories of call establishment procedures: connection-oriented and connectionless.
Connection-oriented network services require that users establish a single distinct virtual circuit before the data can be transmitted. This circuit then defines a fixed path through the network that all traffic follows during the session. Several packet switching services are connection-oriented, notably X.25 and Frame Relay. X.25 is the slower of the services, but has built-in error correction--enough for its performance not to depend on clean, high-quality optical fiber lines. Frame relay, regarded as the first generation of fast packet technology, is well-suited for high-speed bursty data communication applications.
Connectionless network services, by contrast, let each packet of a communications session take a different, independent path through the network. One example is the Switched Multimegabit Data Service (SMDS), a possible precursor to broadband ISDN. This fast-packet service supports data rates ranging from the T1 rate of 1.544 Mb/s up to 1 Gb/s. The SMDS transport system architecture is defined by IEEE 802.6 Metropolitan Area Network standards.
Eventually, SMDS is expected to operate at rates of 51.85 Mb/s to 9.953 Gb/s specified by the family of standards known in North America as Synchronous Optical Network (SONET). Synchronous Digital Hierarchy (SDH) is an ITU recommendation that grew out of and includes the specifications of SONET.
The process of routing packets over the Internet is also considered a connectionless network service. The Internet Protocol (IP) addresses packets from sender to receiver. It is still used mostly in conjunction with the Transmission Control Protocol (TCP), which establishes a connection between end users to manage the traffic flow and ensures the data are correct, providing end-to-end reliability. The combination, known as TCP/IP, is the Internet's main backbone protocol suite.
Asynchronous transfer mode (ATM) is a connection-oriented network service. It is a high-bandwidth, fast-packet switching and multiplexing technique that segments packets into 53-byte cells. It supports sound (voice and audio), data, documents (text, graphics and still images), and video (moving pictures with sound). ATM and SDH/SONET are key technologies enabling broadband ISDN.
The Problem
The processing of the various types of signaling which it is desired to transport over a combined telecommunications and packet data internetwork involves a multitude of considerations related to the differing characteristics of the signals which are involved. Thus analog voiceband channels (4 kHZ nominal) must be digitized by the codec (coder/decoder) to create 64 Kbps DS level 0 (DS0) signals. Twenty-four of these DS0 channels from the codecs must be multiplexed by a channel bank to create 1.544 DS1 channels. These DS1 channels are then digitally switched through the telecommunications network, and delivered to a server device for further processing for delivery to the packet internetwork or Internet. This further processing involves compression, packetizing and addressing, and routing onto the internetwork. The nature of this processing is dependent on the characteristics of the voice signal and the nature of the intelligence to be conveyed.
Data modems are also analog information sources, since the modem prepares digital information for transmission over analog circuits designed for voice. This analog consideration in addition to the nature of the data to be transported influences the processing which must occur for satisfactory transport over the combined networks.
Video services pose even more stringent requirements than those associated with voice and data telephony. The older services, such as video telephone and conferencing, require increased compression of the bit rate for even limited-motion, full-color, and limited-resolution video which may be attained at a 64 kbps DS0 or B-channel rate. Recent expansion of proposed video services to include television and inter-active television entail still additional processing stratagems, as may be seen, for example, in the descriptions of such patents as U.S. Pat. No. 5,384,835, issued Jan. 24, 1995, to Barbara L. Wheeler, et al., U.S. Pat. No. 5,410,343, issued Apr. 25, 1995, to Carl D. Coddington, et al., U.S. Pat. No. 5,477,263, issued Dec. 19, 1995, to Daniel O'Callaghan, et al.
To the extent that the prior art has addressed transportation of these varied types of services over the internetwork known as the Internet, and to the extent that the approach has involved utilization of the public switched telephone network to implement such services, diverse devices have been proposed tailored to the particular service involved.
As use of the Internet expands, particularly for transport of voice telephone communications in addition to varied types of data services, a need exists for enhanced interconnection of the public switched telephone network and the public packet data network that will facilitate delivery of such services.